diff --git a/drivers/pinctrl/intel/pinctrl.c b/drivers/pinctrl/intel/pinctrl.c
index e3d2464..576e1b4 100644
--- a/drivers/pinctrl/intel/pinctrl.c
+++ b/drivers/pinctrl/intel/pinctrl.c
@@ -617,7 +617,7 @@
 				     const struct pad_community *comm,
 				     int num_cfgs)
 {
-	struct p2sb_child_platdata *pplat = dev_get_parent_platdata(dev);
+	struct p2sb_child_platdata *pplat = dev_get_parent_plat(dev);
 	struct intel_pinctrl_priv *priv = dev_get_priv(dev);
 
 	if (!comm) {
diff --git a/drivers/pinctrl/intel/pinctrl_apl.c b/drivers/pinctrl/intel/pinctrl_apl.c
index 149d511..a4f46e6 100644
--- a/drivers/pinctrl/intel/pinctrl_apl.c
+++ b/drivers/pinctrl/intel/pinctrl_apl.c
@@ -160,7 +160,7 @@
 		return log_msg_ret("Could not set port id", ret);
 #endif
 	/* Attach this device to its community structure */
-	pplat = dev_get_parent_platdata(dev);
+	pplat = dev_get_parent_plat(dev);
 	for (i = 0; i < ARRAY_SIZE(apl_gpio_communities); i++) {
 		if (apl_gpio_communities[i].port == pplat->pid)
 			comm = &apl_gpio_communities[i];
@@ -185,5 +185,5 @@
 #endif
 	.ofdata_to_platdata = apl_pinctrl_ofdata_to_platdata,
 	.priv_auto	= sizeof(struct intel_pinctrl_priv),
-	.platdata_auto	= sizeof(struct apl_gpio_platdata),
+	.plat_auto	= sizeof(struct apl_gpio_platdata),
 };
diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
index afd4407..3bc16bb 100644
--- a/drivers/pinctrl/pinctrl-at91-pio4.c
+++ b/drivers/pinctrl/pinctrl-at91-pio4.c
@@ -178,6 +178,6 @@
 	.id = UCLASS_PINCTRL,
 	.of_match = atmel_pinctrl_match,
 	.probe = atmel_pinctrl_probe,
-	.platdata_auto	= sizeof(struct atmel_pio4_platdata),
+	.plat_auto	= sizeof(struct atmel_pio4_platdata),
 	.ops = &atmel_pinctrl_ops,
 };
diff --git a/drivers/pinctrl/pinctrl-qe-io.c b/drivers/pinctrl/pinctrl-qe-io.c
index e598797..4f7cfaa 100644
--- a/drivers/pinctrl/pinctrl-qe-io.c
+++ b/drivers/pinctrl/pinctrl-qe-io.c
@@ -122,7 +122,7 @@
 #else
 static int qe_io_ofdata_to_platdata(struct udevice *dev)
 {
-	struct qe_io_platdata *plat = dev->platdata;
+	struct qe_io_platdata *plat = dev->plat;
 	fdt_addr_t addr;
 
 	addr = dev_read_addr(dev);
@@ -143,7 +143,7 @@
  */
 static int par_io_of_config_node(struct udevice *dev, ofnode pio)
 {
-	struct qe_io_platdata *plat = dev->platdata;
+	struct qe_io_platdata *plat = dev->plat;
 	qepio83xx_t *par_io = plat->base;
 	const unsigned int *pio_map;
 	int pio_map_len;
@@ -246,7 +246,7 @@
 	.of_match = of_match_ptr(par_io_pinctrl_match),
 	.probe = par_io_pinctrl_probe,
 	.ofdata_to_platdata = qe_io_ofdata_to_platdata,
-	.platdata_auto	= sizeof(struct qe_io_platdata),
+	.plat_auto	= sizeof(struct qe_io_platdata),
 	.ops = &par_io_pinctrl_ops,
 #if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
 	.flags	= DM_FLAG_PRE_RELOC,
diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c
index 934be93..0a3319c 100644
--- a/drivers/pinctrl/pinctrl-single.c
+++ b/drivers/pinctrl/pinctrl-single.c
@@ -47,7 +47,7 @@
 				 const struct single_fdt_pin_cfg *pins,
 				 int size)
 {
-	struct single_pdata *pdata = dev->platdata;
+	struct single_pdata *pdata = dev->plat;
 	int count = size / sizeof(struct single_fdt_pin_cfg);
 	phys_addr_t n, reg;
 	u32 val;
@@ -81,7 +81,7 @@
 				 const struct single_fdt_bits_cfg *pins,
 				 int size)
 {
-	struct single_pdata *pdata = dev->platdata;
+	struct single_pdata *pdata = dev->plat;
 	int count = size / sizeof(struct single_fdt_bits_cfg);
 	phys_addr_t n, reg;
 	u32 val, mask;
@@ -153,7 +153,7 @@
 	fdt_addr_t addr;
 	u32 of_reg[2];
 	int res;
-	struct single_pdata *pdata = dev->platdata;
+	struct single_pdata *pdata = dev->plat;
 
 	pdata->width =
 		dev_read_u32_default(dev, "pinctrl-single,register-width", 0);
@@ -191,6 +191,6 @@
 	.id = UCLASS_PINCTRL,
 	.of_match = single_pinctrl_match,
 	.ops = &single_pinctrl_ops,
-	.platdata_auto	= sizeof(struct single_pdata),
+	.plat_auto	= sizeof(struct single_pdata),
 	.ofdata_to_platdata = single_ofdata_to_platdata,
 };
diff --git a/drivers/pinctrl/pinctrl-sti.c b/drivers/pinctrl/pinctrl-sti.c
index c147863..de208d4 100644
--- a/drivers/pinctrl/pinctrl-sti.c
+++ b/drivers/pinctrl/pinctrl-sti.c
@@ -316,6 +316,6 @@
 	.of_match = sti_pinctrl_ids,
 	.ops = &sti_pinctrl_ops,
 	.probe = sti_pinctrl_probe,
-	.platdata_auto	= sizeof(struct sti_pinctrl_platdata),
+	.plat_auto	= sizeof(struct sti_pinctrl_platdata),
 	.ops = &sti_pinctrl_ops,
 };
diff --git a/drivers/pinctrl/pinctrl-stmfx.c b/drivers/pinctrl/pinctrl-stmfx.c
index e3df0be..21c7dc4 100644
--- a/drivers/pinctrl/pinctrl-stmfx.c
+++ b/drivers/pinctrl/pinctrl-stmfx.c
@@ -446,7 +446,7 @@
 	.bind = stmfx_pinctrl_bind,
 	.probe = stmfx_pinctrl_probe,
 	.ops = &stmfx_pinctrl_ops,
-	.platdata_auto	= sizeof(struct stmfx_pinctrl),
+	.plat_auto	= sizeof(struct stmfx_pinctrl),
 };
 
 static int stmfx_chip_init(struct udevice *dev)
@@ -454,7 +454,7 @@
 	u8 id;
 	u8 version[2];
 	int ret;
-	struct dm_i2c_chip *chip = dev_get_parent_platdata(dev);
+	struct dm_i2c_chip *chip = dev_get_parent_plat(dev);
 
 	ret = dm_i2c_reg_read(dev, STMFX_REG_CHIP_ID);
 	if (ret < 0) {
diff --git a/drivers/pinctrl/renesas/pfc-r7s72100.c b/drivers/pinctrl/renesas/pfc-r7s72100.c
index c3e6a24..ec55caa 100644
--- a/drivers/pinctrl/renesas/pfc-r7s72100.c
+++ b/drivers/pinctrl/renesas/pfc-r7s72100.c
@@ -142,6 +142,6 @@
 	.id		= UCLASS_PINCTRL,
 	.of_match	= r7s72100_pfc_match,
 	.probe		= r7s72100_pfc_probe,
-	.platdata_auto	= sizeof(struct r7s72100_pfc_platdata),
+	.plat_auto	= sizeof(struct r7s72100_pfc_platdata),
 	.ops		= &r7s72100_pfc_ops,
 };
